package com.xtq.springcloud.service;

import com.xtq.springcloud.entity.Member;
import com.xtq.springcloud.entity.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @author : xietianqi
 * @date : 2024-01-25 16:47
 * @description: OpenFeign远程调用接口的地方
 * 优势OpenFeign是一个接口起到解耦作用
 * 我问别人要一个接口他就把这个给我
 **/
@Component
@FeignClient(value = "MEMBER-SERVICE-PROVIDER")
public interface IMemberFeignService {
	/**
	 *-@GetMapping("/member/get/{id}")这里定义的方法
	 * 就是远程调用的接口，从定义的地方复制过来的
	 * 远程调用方式是get
	 * url如下 还缺少ip和端口
	 * ip和端口从服务中心拿
	 * 最后请求就变成 <a href="http://MEMBER-SERVICE-PROVIDER/member/get/{id}">...</a>
	 * @param id 用户id
	 * @return 返回结果给浏览器
	 */
	@GetMapping("/member/get/{id}")
	Result<Member> getMemberById(@PathVariable("id") Long id);
}
